Multimedia streaming applications are typically among the real-time services offered by a wired or wireless network. Real-time services, such as multimedia streaming, are characterized by delay constraints. The multimedia streamed data (service data) that arrives late at the client are generally discarded by the client. Multimedia streaming data typically has a deadline associated with the data because it is being displayed to a user at the client device. Due to reasons such as congestion or channel impairment in the network, timely and correct delivery of multimedia streaming data to the client cannot always to be guaranteed. Therefore, at the client, there can be multimedia data missing during playback.
Due to the large volume of multimedia data, multimedia streaming applications often require large network bandwidths. For those bandwidth-constrained networks, a data transfer rate limit is often imposed on such an application. Herein bandwidth, data transfer rate and network transfer rate are all used interchangeably. Bandwidth is typically measured in Hertz but in digital communications bandwidth is frequently specified in bits per second (bps), which is actually a transfer rate. Meanwhile the network bandwidth available to upper layer applications, for example, file downloading and web browsing, may also vary over time, depending on factors such as network congestion, physical layer channel outage, etc. When the available network bandwidth is less than the amount requested by the multimedia streaming application, the streaming server may be forced to discard multimedia data in order to the reduce data rate according to some data dropping policy. Any of the above reasons can cause data loss to occur at the client, which can negatively impact client playback quality.
It would be advantageous, therefore, to have a method and apparatus to improve multimedia playback quality when a delay and/or bandwidth constrained multimedia streaming application is delivering multimedia data over a lossy network. As used herein, “/” denotes alternative names for the same or similar acts or components.